home *** CD-ROM | disk | FTP | other *** search
/ L' Effet Pommier 3 / L'Effet Pommier - Volume 03.iso / Programmation / Gooey1.3.1 / C Templates / Window.c < prev   
Text File  |  1994-04-14  |  10KB  |  353 lines

  1. $$Loop Windows
  2. $$Message User Window, u:$Worksheet.name$.h
  3.  
  4. $$File u:$Worksheet.name$.h
  5. /*  $Worksheet.name$                                 Handle this Window */
  6. /*  $CopyRight$ */
  7.  
  8. /* 
  9.     File name: $Worksheet.name$.h
  10.     Function: Handle a Window 
  11.     History: $Date$ Original by $Author$
  12.  
  13. */
  14.  
  15. /* ======================================================= */
  16. /* ======================================================= */
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22. void U_Init$Worksheet.name$Rec($Worksheet.name$RecPtr theWS);
  23.  
  24. /* Initialize us so all our routines can be activated */
  25. void U_Init$Worksheet.name$(void);
  26.  
  27. /* Close our window */
  28. void U_Close$Worksheet.name$($Worksheet.name$RecPtr theWS);
  29.  
  30. /* Handle resizing scrollbars */
  31. void U_Resized$Worksheet.name$($Worksheet.name$RecPtr theWS,Rect *OldRect);
  32.  
  33. /* Our window was moved */
  34. void U_Moved$Worksheet.name$(Rect *OldRect,WindowPtr whichWindow);
  35.  
  36. /* Update our window, someone uncovered a part of us */
  37. void U_Update$Worksheet.name$($Worksheet.name$RecPtr theWS);
  38.  
  39. /* Open our window and draw everything */
  40. void U_Open$Worksheet.name$($Worksheet.name$RecPtr theWS);
  41.  
  42. /* Handle activation of our window */
  43. void U_Activate$Worksheet.name$($Worksheet.name$RecPtr theWS,Boolean Do_An_Activate);
  44.  
  45. /* Handle action to our window, like controls */
  46. void U_DoButton$Worksheet.name$($Worksheet.name$RecPtr theWS,long RefCon, ControlHandle theControl, short *UnHiliteValue);
  47.  
  48. $$if Worksheet.CheckboxesOrRadios
  49. /* Handle a checkbox being pressed */
  50. void U_DoCheckbox$Worksheet.name$($Worksheet.name$RecPtr theWS,ControlHandle theControl, short *NewValue);
  51.  
  52. $$endif
  53. $$if Worksheet.Scrollbars
  54. /* Allow for special handling of scrollbars */
  55. void U_Scroll$Worksheet.name$($Worksheet.name$RecPtr theWS,long *RefCon,  short code, Point *myPt);
  56.  
  57. $$endif
  58. /* Handle any special window events */
  59. void U_DoEvent$Worksheet.name$($Worksheet.name$RecPtr theWS,EventRecord *myEvent);
  60.  
  61. #ifdef __cplusplus
  62. }
  63. #endif
  64.  
  65.  
  66. /* ======================================================= */
  67. /* ======================================================= */
  68.  
  69. $$CloseFile
  70. $$Message User Window, u:$Worksheet.name$.c
  71.  
  72. $$File u:$Worksheet.name$.c
  73. /*  $Worksheet.name$                                 Handle this Window */
  74. /*  $CopyRight$ */
  75.  
  76. /* 
  77.     File name: $Worksheet.name$.c
  78.     Function: Handle a Window 
  79.     History: $Date$ Original by $Author$
  80.  
  81. */
  82.  
  83. #include "mmCommon$Prototype.name$.h"    /* Common */
  84. #include "Common$Prototype.name$.h"        /* Common */
  85.  
  86. #include "$Worksheet.name$.h"                /* This file */
  87.  
  88. /* ======================================================= */
  89.  
  90. void U_Init$Worksheet.name$Rec($Worksheet.name$RecPtr theWS)
  91. {
  92. }
  93.  
  94. /* ======================================================= */
  95.  
  96. /* Routine: U_Init$Worksheet.name$ */
  97. /* Purpose: Initialize our window data to not in use yet */
  98.  
  99. void U_Init$Worksheet.name$(void)
  100. {
  101. }
  102.  
  103. /* ======================================================= */
  104.  
  105. /* Routine: U_Close$Worksheet.name$ */
  106. /* Purpose: Close out the window */
  107.  
  108. void U_Close$Worksheet.name$($Worksheet.name$RecPtr theWS)
  109. {
  110. }
  111.  
  112. /* ======================================================= */
  113.  
  114. /* Routine: U_Resized$Worksheet.name$ */
  115. /* Purpose: We were resized or zoomed, update the scrolling scrollbars */
  116. /* OldRect is the size of the window before the resize */
  117.  
  118. void U_Resized$Worksheet.name$($Worksheet.name$RecPtr theWS,Rect *OldRect)
  119. {
  120. }
  121.  
  122. /* ======================================================= */
  123.  
  124. /* Routine: U_Moved$Worksheet.name$ */
  125. /* Purpose: We were moved, possibly to another screen and screen depth */
  126. /* OldRect is the size of the window before the resize */
  127.  
  128. void U_Moved$Worksheet.name$(Rect *OldRect,WindowPtr whichWindow)
  129. {
  130. }
  131.  
  132. /* ======================================================= */
  133.  
  134. /* Routine: U_UpDate$Worksheet.name$ */
  135. /* Purpose: Update our window */
  136. /* User can place code before or after the DrawControls */
  137.  
  138. void U_Update$Worksheet.name$($Worksheet.name$RecPtr theWS)
  139. {
  140.  
  141. DrawControls(theWS->theWindow);                        /* Draw all the controls */
  142. }
  143.  
  144. /* ======================================================= */
  145.  
  146. /* Routine: U_Open$Worksheet.name$ */
  147. /* Purpose: Open our window */
  148.  
  149. void U_Open$Worksheet.name$($Worksheet.name$RecPtr theWS)
  150. {
  151.  
  152. if ((theWS != nil) && (theWS->theWindow != nil))    /*  See if opened OK */
  153.     {
  154.     }
  155. }
  156.  
  157. /* ======================================================= */
  158.  
  159. /* Routine: U_Activate$Worksheet.name$ */
  160. /* Purpose: We activated or deactivated */
  161.  
  162. void U_Activate$Worksheet.name$($Worksheet.name$RecPtr theWS,Boolean Do_An_Activate)
  163. {
  164.  
  165. if (Do_An_Activate)                                /* Handle the activate */
  166.     {
  167.     }
  168. else
  169.     {
  170.     }
  171. }
  172.  
  173. /* ======================================================= */
  174.  
  175. /* Routine: U_DoButton$Worksheet.name$ */
  176. /* Purpose: Handle extra buttons in our window */
  177.  
  178. /*      RefCon = The RefCon of the button that was pressed */
  179. /*      theControl = The ControlHandle of the button that was pressed */
  180. /*      UnHiliteValue = 0 for unhilite, we can change that */
  181. void U_DoButton$Worksheet.name$($Worksheet.name$RecPtr theWS,long RefCon, ControlHandle theControl,short *UnHiliteValue)
  182. {
  183. short    theSelection;                                /* For palette and popup selections */
  184.  
  185.  
  186. switch (RefCon)                                    /* Select correct button */
  187.     {
  188.     $$Loop Control.type = Button
  189.     case ResC_$Control.name$:                /* Button, $Control.FullName$  */
  190.         break;
  191.  
  192.     $$EndLoop
  193.     $$Loop Control.type = Icon
  194.     $$if Control.NonGraphic
  195.     case ResC_$Control.name$:                /* Icon button, $Control.FullName$  */
  196.         break;
  197.  
  198.     $$endif
  199.     $$EndLoop
  200.     $$Loop Control.type = Sicn
  201.     $$if Control.NonGraphic
  202.     case ResC_$Control.name$:                /* Sicn button, $Control.FullName$  */
  203.         break;
  204.  
  205.     $$endif
  206.     $$EndLoop
  207.     $$Loop Control.type = Picture
  208.     $$if Control.NonGraphic
  209.     case ResC_$Control.name$:                /* Picture button, $Control.FullName$  */
  210.         break;
  211.  
  212.     $$endif
  213.     $$EndLoop
  214.     $$Loop Control.type = UButton
  215.     case ResC_$Control.name$:                /* Plugin button, $Control.FullName$  */
  216.         break;
  217.  
  218.     $$EndLoop
  219.     $$Loop Control.type = HotRect
  220.     $$if Control.HotSpot
  221.     case ResC_$Control.name$:                /* HotSpot, $Control.FullName$  */
  222.         break;
  223.  
  224.     $$endif
  225.     $$EndLoop
  226.     $$Loop Control.type = Popup
  227.     case ResC_$Control.name$:                /* Popup menu, $Control.FullName$  */
  228.         theSelection = GetCtlValue(theWS->Ctrl_$Control.name$);    /* Get the Popup selection value */
  229.         theWS->Value_$Control.name$ = theSelection;
  230.         switch (theSelection)                    /* Select correct item */
  231.             {
  232.             $$Loop PopupItems
  233.             case $Control.PopupID$:                /* $Control.PopupID$, for $Control.PopupName$ */
  234.                 break;
  235.             $$EndLoop PopupItems
  236.  
  237.             default:                            /* allow other buttons, trap for debug */
  238.                 break;                            /* end of otherwise */
  239.             }                                    /* end of switch */
  240.         break;
  241.  
  242.     $$EndLoop
  243.     $$Loop Control.type = Palette
  244.     case ResC_$Control.name$:                /* Palette, $Control.FullName$  */
  245.         theSelection = GetCtlValue(theWS->Ctrl_$Control.name$);/* Get the palette value, 0xrrcc, rr is row, cc is column */
  246.         theWS->Value_$Control.name$ = theSelection;    /* Get the palette value */
  247.         switch (theSelection)                    /* Select correct item */
  248.             {
  249.             $$Loop PaletteItems
  250.             case $Control.PaletteID$:            /*  Row $Control.Row$, Column $Control.Column$ */
  251.                 break;
  252.             $$EndLoop PaletteItems
  253.  
  254.             default:                            /* allow other buttons, trap for debug */
  255.                 break;                            /* end of otherwise */
  256.             }                                    /* end of switch */
  257.         break;
  258.  
  259.     $$EndLoop
  260.  
  261.     default:                                    /* allow other buttons, trap for debug */
  262.         break;                                    /* end of otherwise */
  263.     }                                            /* end of switch */
  264.  
  265. }
  266.  
  267. $$if Worksheet.CheckboxesOrRadios
  268. /* ======================================================= */
  269.  
  270. /* Routine: U_DoCheckBox$Worksheet.name$ */
  271. /* Purpose: Handle ckboxes and radios in our window */
  272.  
  273. void U_DoCheckbox$Worksheet.name$($Worksheet.name$RecPtr theWS,ControlHandle theControl,short *NewValue)
  274. {
  275. long    RefCon;                                    /* RefCon for controls */
  276.  
  277.  
  278. RefCon = GetCRefCon(theControl);                /* get control refcon */
  279.  
  280. switch (RefCon)                                    /* Select correct button */
  281.     {
  282.     $$Loop Control.type = Checkbox
  283.     case ResC_$Control.name$:                /* Checkbox, $Control.FullName$  */
  284.         break;
  285.  
  286.     $$EndLoop
  287.     $$Loop Control.type = Radio
  288.     case ResC_$Control.name$:                /* Radio, $Control.FullName$  */
  289.         break;
  290.  
  291.     $$EndLoop
  292.     $$Loop Control.type = UToggle
  293.     case ResC_$Control.name$:                /* Toggle Plugin, $Control.FullName$  */
  294.         break;
  295.  
  296.     $$EndLoop
  297.  
  298.     default:                                    /* allow other buttons, trap for debug */
  299.         break;                                    /* end of otherwise */
  300.     }                                            /* end of switch */
  301. }
  302.  
  303. $$endif
  304. $$if Worksheet.Scrollbars
  305. /* ======================================================= */
  306.  
  307. /* Routine: U_Scroll$Worksheet.name$ */
  308. /* Purpose: Special handling of scrollbars */
  309. /* Return RefCon as 0 to inhibit standard routine from handling it */
  310.  
  311. void U_Scroll$Worksheet.name$($Worksheet.name$RecPtr theWS,long *RefCon,short code,Point *myPt)
  312. {
  313.  
  314.  
  315. switch (*RefCon)                                /* Select correct button */
  316.     {
  317.     $$Loop Control.type = ScrollBar
  318.     case ResC_$Control.name$:                /* ScrollBar, $Control.FullName$  */
  319.         /* HandleWScrollBar(myPt,code,1,10,theControl);     x   code,Inc,PageInc,handle   x   */
  320.         theWS->Value_$Control.name$ = GetCtlValue(theWS->Ctrl_$Control.name$);/* Get the scrollbar value */
  321.         break;
  322.  
  323.     $$EndLoop
  324.     $$Loop Control.type = UGauge
  325.     case ResC_$Control.name$:                /* Plugin gauge, $Control.FullName$  */
  326.         /* HandleWScrollBar(myPt,code,1,10,theControl);     x   code,Inc,PageInc,handle   x   */
  327.         theWS->Value_$Control.name$ = GetCtlValue(theWS->Ctrl_$Control.name$);/* Get the scrollbar value */
  328.         break;
  329.  
  330.     $$EndLoop
  331.  
  332.     default:                                    /* allow other buttons, trap for debug */
  333.         break;                                /* end of otherwise */
  334.     }                                            /* end of switch */
  335. }
  336.  
  337. $$endif
  338. /* ======================================================= */
  339.  
  340. /* Routine: U_DoEvent$Worksheet.name$ */
  341. /* Purpose: Handle any special window events */
  342.  
  343. void U_DoEvent$Worksheet.name$($Worksheet.name$RecPtr theWS,EventRecord *myEvent)
  344. {
  345. }
  346.  
  347. /* ======================================================= */
  348. /* ======================================================= */
  349. $$CloseFile
  350. $$EndLoop
  351.  
  352.  
  353.